//缓存插件
import Cookies from 'js-cookie'
// 使用前先引入 defineStore；
import { defineStore } from 'pinia'

// defineStore 方法有两个参数，第一个参数是模块化名字（相当于ID，不能重复）
// 第二个参数是选项
export const useAppStore = defineStore('app', {
	// data存放模块的变量
	state() {
		return {
			sidebar: {
				opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,
				withoutAnimation: false
			},
			device: 'desktop'
		}
	},
	//计算属性
	getters: {

	},
	//methed方法
	actions: {
		toggleSideBar() {
			this.sidebar.opened = !this.sidebar.opened
			this.sidebar.withoutAnimation = false
			if (this.sidebar.opened) {
				Cookies.set('sidebarStatus', 1)
			} else {
				Cookies.set('sidebarStatus', 0)
			}
		},
		closeSideBar({ withoutAnimation }) {
			Cookies.set('sidebarStatus', 0)
			this.sidebar.opened = false
			this.sidebar.withoutAnimation = withoutAnimation
		},
		toggleDevice(device) {
			this.device = device
		}
	},
})